/*******************************************************************************
* Copyright (c) 2006, 2015 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*     IBM Corporation - initial API and implementation
*********************************************************************************/

// This file was generated by LPG

package org.eclipse.cdt.internal.core.dom.lrparser.c99;

public class C99SizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, C99SizeofExpressionParsersym {

    public interface IsKeyword {
        public final static byte isKeyword[] = {0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0
        };
    };
    public final static byte isKeyword[] = IsKeyword.isKeyword;
    public final boolean isKeyword(int index) { return isKeyword[index] != 0; }

    public interface BaseCheck {
        public final static short baseCheck[] = {0,
            0,0,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,3,1,
            1,4,4,3,3,2,2,4,1,0,
            1,1,2,2,2,2,2,2,2,2,
            2,1,4,1,3,3,3,1,3,3,
            1,3,3,1,3,3,3,3,1,3,
            3,1,3,1,3,1,3,1,3,1,
            3,1,5,1,3,3,3,3,3,3,
            3,3,3,3,3,1,1,2,1,0,
            1,3,1,1,1,1,1,1,1,1,
            3,4,3,2,4,1,2,1,1,1,
            2,5,7,5,1,0,7,2,5,9,
            8,3,2,2,2,3,2,4,2,2,
            2,2,2,1,1,1,1,2,1,2,
            2,2,1,2,2,1,2,2,1,2,
            2,1,2,2,1,3,1,3,1,1,
            1,1,1,1,1,1,1,1,1,1,
            1,1,1,1,1,1,1,1,1,6,
            8,0,0,1,1,3,3,3,0,1,
            0,1,2,4,2,1,1,1,3,1,
            1,2,3,7,8,0,1,0,1,3,
            1,3,1,1,1,1,1,1,3,1,
            1,1,1,1,3,1,2,2,1,5,
            3,1,3,5,1,3,1,3,2,4,
            3,5,4,6,6,3,5,1,3,4,
            5,6,0,1,2,1,3,1,1,3,
            2,1,1,1,1,2,1,2,3,1,
            1,1,3,1,2,2,2,3,4,5,
            1,1,7,3,0,0,1,1,3,3,
            4,1,1,2,3,2,3,2,1,0,
            1,2,1,1,1,1,1,2,1,3,
            6,4,2,4,1,1,-36,0,0,0,
            0,0,0,0,0,0,0,-2,0,0,
            0,0,0,0,0,0,0,0,0,-4,
            -156,-115,0,-14,0,0,0,0,-72,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-167,0,-29,0,-104,0,0,0,0,
            -80,0,0,-116,0,-16,0,-17,0,0,
            0,0,0,0,0,-138,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-174,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-178,0,-128,-78,0,0,-48,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,-30,0,0,0,-18,0,-42,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-6,0,0,0,0,0,0,0,
            0,-189,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,-3,0,0,0,0,0,0,0,
            0,0,0,-19,0,0,0,0,0,0,
            0,0,0,0,0,-117,0,0,-118,0,
            -119,0,0,0,-43,0,0,0,0,0,
            0,0,0,0,0,0,-108,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-5,0,0,
            0,0,0,0,0,-127,0,0,0,0,
            0,0,0,0,0,0,-81,0,0,0,
            0,0,0,0,0,0,-131,0,-158,0,
            -55,0,0,0,0,0,0,0,0,0,
            0,-122,0,0,0,0,0,0,0,0,
            0,-20,0,-21,0,0,0,0,-27,0,
            0,0,0,0,0,0,0,0,0,-22,
            0,0,0,0,0,0,0,0,0,0,
            0,-23,0,-188,0,-24,0,0,0,0,
            -74,0,-12,0,0,0,0,0,0,0,
            0,0,0,0,0,-56,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-57,0,0,0,
            0,0,0,0,0,0,0,-25,0,0,
            0,0,0,0,0,0,0,-58,0,0,
            0,0,0,0,0,0,0,0,-26,0,
            0,0,0,0,0,0,0,0,-59,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,-60,
            0,0,0,0,0,0,0,0,0,0,
            -86,0,0,0,0,0,0,0,0,0,
            -61,0,0,0,0,0,0,0,0,0,
            0,-87,0,0,0,0,0,0,0,0,
            0,-62,0,0,0,0,0,0,0,0,
            0,0,-88,0,0,0,0,0,0,0,
            0,0,-63,0,0,0,0,0,0,0,
            0,0,0,-89,0,0,0,0,0,0,
            0,0,0,-64,0,0,0,0,0,0,
            0,0,0,0,-90,0,0,0,0,0,
            0,0,0,0,-65,0,0,0,0,0,
            0,0,0,0,0,-91,0,0,0,0,
            0,0,0,0,0,-66,0,0,0,0,
            0,0,0,0,0,0,-92,0,0,0,
            0,0,0,0,0,0,-120,0,0,0,
            0,0,0,0,0,0,0,-93,0,0,
            0,0,0,0,0,0,0,-141,0,0,
            0,0,0,0,0,0,0,0,-94,0,
            0,0,0,0,0,0,0,0,-142,0,
            0,0,0,0,0,0,0,0,0,-95,
            0,0,0,0,0,0,0,0,0,-177,
            0,0,0,0,0,0,0,0,0,0,
            -134,0,0,0,0,0,0,0,0,-186,
            0,0,0,0,0,0,0,0,0,0,
            -197,0,0,0,0,0,0,0,0,-13,
            0,0,0,0,0,0,0,-7,0,0,
            0,0,0,0,0,-192,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-198,0,0,0,0,
            0,0,0,0,0,0,-135,0,0,0,
            0,0,0,0,0,-155,-96,0,-170,0,
            0,-97,0,-70,0,0,0,0,0,0,
            0,-206,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-54,0,0,0,0,0,0,0,0,
            0,0,-130,0,0,0,0,0,0,0,
            -180,-176,0,0,0,0,-75,0,0,-37,
            0,0,0,0,0,0,0,0,0,-98,
            -145,0,0,-110,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-200,-193,-124,
            0,-187,0,0,0,0,0,-99,0,-100,
            0,-146,0,0,0,0,0,0,0,0,
            0,0,0,0,0,-31,0,-101,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -184,-102,-85,0,-33,0,0,-51,0,0,
            0,0,0,0,0,0,0,0,-121,0,
            0,0,0,0,0,0,-71,0,0,0,
            0,0,0,0,-52,0,0,0,0,0,
            0,0,0,0,0,-164,0,0,0,-137,
            -154,0,-34,0,-105,0,0,0,-183,0,
            0,-67,0,0,0,0,-107,0,-123,0,
            -83,0,0,0,-140,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,-38,0,0,
            0,0,0,0,0,0,0,-49,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -50,0,0,0,0,0,0,0,0,0,
            0,-205,0,0,0,-153,0,-157,-68,0,
            0,-132,0,-191,0,-136,0,-151,0,0,
            -44,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            -8,0,0,0,0,0,0,0,-166,0,
            -45,0,0,0,0,0,0,0,0,0,
            0,-46,0,0,0,0,0,0,0,0,
            0,-47,0,0,0,0,0,0,0,0,
            0,-73,0,0,-76,-69,-109,0,-112,-139,
            -165,-171,0,-111,0,0,0,0,0,0,
            0,0,-172,-175,0,0,0,0,-207,0,
            0,0,0,0,0,0,0,0,-199,-204,
            0,-147,0,0,0,0,-144,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-9,0,0,0,0,0,0,0,-10,
            0,0,0,0,0,0,0,-11,0,0,
            0,0,0,0,0,-35,-39,0,0,0,
            0,0,0,0,0,-113,0,-40,0,0,
            0,0,0,0,0,-173,0,-103,-126,-143,
            -162,0,-41,0,0,0,0,0,0,0,
            0,0,0,-15,-129,-159,0,0,0,0,
            -28,-32,0,0,0,0,-179,0,-160,-148,
            -190,0,0,0,0,0,0,0,0,0,
            0,0,0,0,-185,0,-77,0,0,0,
            0,0,0,0,0,0,0,0,0,-79,
            0,0,0,-196,-82,0,0,0,0,0,
            -106,-169,0,0,0,0,0,0,-84,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,-125,0,0,-152,-181,0,0,0,0,
            -182,0,0,0,0,0,0,-133,0,0,
            -168,0,0,0,-150,-1,-114,-163,0,0,
            0,0,0,-53,0,0,0,0,0,0,
            -161,-149,0,-202,0,0,0,0,0,0,
            0,-203,0,0,0,0,0,0,-201,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,-194,0,0,-195,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0
        };
    };
    public final static short baseCheck[] = BaseCheck.baseCheck;
    @Override
    public final int baseCheck(int index) { return baseCheck[index]; }
    public final static short rhs[] = baseCheck;
    @Override
    public final int rhs(int index) { return rhs[index]; };

    public interface BaseAction {
        public final static char baseAction[] = {
            87,11,102,24,24,23,23,39,39,69,
            69,1,1,2,2,2,2,3,3,3,
            4,5,5,5,5,5,5,5,5,59,
            59,70,6,6,6,6,6,6,6,6,
            6,6,7,7,8,8,8,8,9,9,
            9,10,10,10,12,12,12,12,12,13,
            13,13,14,14,15,15,16,16,17,17,
            18,18,19,19,20,20,20,20,20,20,
            20,20,20,20,20,20,103,45,40,88,
            88,72,72,47,104,104,104,104,104,104,
            104,105,105,105,106,106,111,111,112,112,
            107,107,108,108,108,114,114,109,109,109,
            109,109,110,110,110,110,110,113,113,25,
            25,25,25,25,28,28,28,78,78,73,
            73,73,73,74,74,74,75,75,75,76,
            76,76,77,77,77,115,115,116,116,117,
            29,31,31,31,31,31,53,54,54,54,
            54,54,54,54,54,54,54,54,54,63,
            60,60,89,90,65,65,61,61,61,66,
            79,79,80,80,67,67,67,49,91,91,
            81,82,82,82,62,62,92,83,83,84,
            84,68,68,21,22,22,22,30,48,48,
            32,32,32,32,35,35,37,33,33,34,
            38,38,118,118,36,119,119,93,93,26,
            26,26,26,26,26,26,26,26,85,50,
            50,50,50,27,56,56,55,55,55,57,
            57,51,51,94,94,71,71,58,58,58,
            41,41,41,42,43,43,43,44,44,44,
            44,64,64,46,46,52,96,95,95,95,
            95,86,97,98,98,99,99,100,100,120,
            120,121,121,122,122,122,122,124,124,123,
            123,123,125,126,126,87,87,1,781,17,
            21,18,344,739,44,388,386,524,31,468,
            634,632,662,650,718,666,74,91,135,213,
            15,668,329,991,607,137,134,136,160,275,
            20,17,21,18,344,739,44,388,386,524,
            1154,468,634,632,662,650,718,666,74,1427,
            139,166,692,239,360,31,50,143,146,149,
            152,421,446,1269,360,187,241,1229,194,340,
            1425,1587,1600,1605,1619,1213,441,20,17,21,
            18,344,739,44,388,386,524,341,468,634,
            632,662,650,718,666,74,281,336,20,17,
            21,18,344,739,44,388,386,524,341,468,
            634,632,662,650,718,666,74,281,1444,443,
            293,195,282,693,25,575,97,384,1265,489,
            20,17,21,18,344,42,44,388,386,524,
            287,468,970,282,360,31,255,213,12,1265,
            489,20,17,21,18,344,42,44,388,386,
            844,289,288,489,20,17,21,18,344,42,
            40,1076,465,20,17,21,18,344,739,44,
            388,386,524,290,468,634,632,662,650,718,
            666,74,281,489,20,17,21,18,344,739,
            44,388,386,524,30,468,634,632,662,650,
            718,666,74,91,24,342,360,186,282,576,
            1356,360,188,294,1265,489,20,17,21,18,
            344,42,44,388,386,865,291,537,20,17,
            21,18,344,739,44,388,386,524,1642,468,
            634,632,662,650,718,666,74,1539,513,20,
            17,21,18,344,41,340,299,20,17,21,
            18,344,739,44,388,386,524,446,468,634,
            632,662,650,718,666,74,1540,189,179,236,
            240,489,20,17,21,18,344,42,44,388,
            386,524,50,468,634,632,662,1212,135,213,
            254,213,580,396,63,137,134,136,160,489,
            20,17,21,18,344,739,44,388,386,524,
            219,468,634,632,662,650,718,666,74,92,
            139,166,313,536,282,1131,327,143,146,149,
            152,323,446,513,20,17,21,18,344,34,
            1425,1587,1600,1605,1619,1213,489,20,17,21,
            18,344,739,44,388,386,524,275,468,634,
            632,662,650,718,666,74,85,489,20,17,
            21,18,344,739,44,388,386,524,413,468,
            634,632,662,650,718,666,74,84,489,20,
            17,21,18,344,739,44,388,386,524,524,
            468,634,632,662,650,718,666,74,83,489,
            20,17,21,18,344,739,44,388,386,524,
            283,468,634,632,662,650,718,666,74,82,
            489,20,17,21,18,344,739,44,388,386,
            524,561,468,634,632,662,650,718,666,74,
            81,489,20,17,21,18,344,739,44,388,
            386,524,199,468,634,632,662,650,718,666,
            74,80,489,20,17,21,18,344,739,44,
            388,386,524,201,468,634,632,662,650,718,
            666,74,79,489,20,17,21,18,344,739,
            44,388,386,524,110,468,634,632,662,650,
            718,666,74,78,489,20,17,21,18,344,
            739,44,388,386,524,117,468,634,632,662,
            650,718,666,74,77,489,20,17,21,18,
            344,739,44,388,386,524,448,468,634,632,
            662,650,718,666,74,76,489,20,17,21,
            18,344,739,44,388,386,524,472,468,634,
            632,662,650,718,666,74,75,489,20,17,
            21,18,344,739,44,388,386,524,657,468,
            634,632,662,650,718,666,74,73,489,20,
            17,21,18,344,739,44,388,386,524,678,
            468,634,632,662,650,718,666,74,1556,489,
            20,17,21,18,344,739,44,388,386,524,
            200,468,634,632,662,650,718,666,74,1569,
            489,20,17,21,18,344,42,44,388,386,
            524,191,468,634,632,662,650,718,666,93,
            489,20,17,21,18,344,42,44,388,386,
            524,685,468,634,632,662,650,718,666,93,
            513,20,17,21,18,344,33,1571,489,20,
            17,21,18,344,42,39,489,20,17,21,
            18,344,42,44,388,386,524,212,468,634,
            632,662,650,718,666,93,489,20,17,21,
            18,344,42,44,388,386,524,50,468,634,
            632,662,650,718,666,93,394,57,1645,696,
            194,1358,104,1692,416,20,17,21,18,344,
            42,43,489,20,17,21,18,344,42,44,
            388,386,524,202,468,634,632,662,650,718,
            666,93,489,20,17,21,18,344,42,44,
            388,386,524,105,468,634,632,662,650,1198,
            28,648,360,296,1570,1536,1265,562,1585,203,
            489,20,17,21,18,344,42,44,802,274,
            650,207,255,213,236,218,1182,221,1462,223,
            224,229,1541,276,267,1137,671,272,701,676,
            59,263,360,1432,277,254,213,274,711,1699,
            6,264,718,218,1182,221,1462,223,224,229,
            255,213,267,1137,671,272,373,1285,429,1681,
            218,1182,221,1462,223,224,229,513,228,1429,
            445,696,246,189,179,397,1681,261,489,20,
            17,21,18,344,42,44,388,386,524,206,
            468,634,632,1150,135,213,89,59,1084,586,
            210,138,134,136,160,489,20,17,21,18,
            344,42,44,388,386,524,152,468,634,1178,
            50,542,1432,397,1277,400,140,166,284,305,
            1684,1261,397,144,147,150,153,715,446,717,
            1699,470,274,1279,1349,608,19,1611,219,1182,
            221,1462,223,224,229,1538,609,269,1137,671,
            272,218,1182,221,1462,223,224,229,489,20,
            17,21,18,344,42,44,823,1459,489,20,
            17,21,18,344,42,44,388,386,524,209,
            1077,489,20,17,21,18,344,42,44,388,
            386,524,305,1082,1079,1443,50,541,627,397,
            198,200,333,1699,360,298,716,1612,722,1567,
            1011,489,20,17,21,18,344,42,44,388,
            386,886,23,539,218,1182,221,1462,223,224,
            229,489,20,17,21,18,344,42,38,206,
            1459,489,20,17,21,18,344,42,44,388,
            386,907,489,20,17,21,18,344,42,44,
            388,928,489,20,17,21,18,344,42,44,
            388,949,675,199,200,232,281,281,180,397,
            59,50,58,1526,365,20,17,21,18,344,
            42,36,1651,698,144,277,135,213,274,706,
            22,241,273,142,134,136,160,1348,246,151,
            171,1765,689,267,1137,671,272,365,20,17,
            21,18,344,42,36,1765,1279,1765,141,166,
            1429,219,1182,221,1462,223,224,229,227,1765,
            1765,247,489,20,17,21,18,344,42,37,
            489,20,17,21,18,344,42,36,489,20,
            17,21,18,344,42,35,60,489,20,17,
            21,18,344,42,47,1765,544,1237,489,20,
            17,21,18,344,42,46,206,607,52,281,
            281,544,274,489,20,17,21,18,344,42,
            45,1123,607,1277,50,397,281,267,1137,671,
            272,50,50,243,242,317,1123,236,1277,281,
            59,281,317,513,266,664,1611,259,279,197,
            244,1555,1765,1352,28,206,197,604,254,213,
            1265,1256,259,245,87,295,1555,1277,1352,1263,
            613,87,87,1516,206,636,1263,1426,135,213,
            1516,324,542,1432,1765,145,134,136,160,645,
            1256,135,213,1169,204,1215,135,213,148,134,
            136,160,1272,151,134,136,160,274,1279,1765,
            135,213,236,181,1765,48,646,154,134,136,
            160,142,269,1137,671,272,607,607,454,1765,
            1765,95,607,254,213,397,389,497,497,607,
            197,1123,607,1765,50,1765,197,513,1658,1646,
            209,397,521,1123,206,513,197,1765,280,1765,
            278,231,281,607,372,1211,1443,259,445,59,
            372,1717,1765,1352,225,1765,87,1123,1765,259,
            372,315,192,1665,87,1352,297,397,192,1180,
            342,1765,1765,205,1389,1661,1277,938,193,1765,
            1604,1661,1765,260,1765,1765,1765,1765,1765,1720,
            230,1765,1765,234,1765,1765,1765,1765,1765,1449,
            1765,1765,1765,328,1765,0,20,179,0,1,
            1991,0,1,2002,0
        };
    };
    public final static char baseAction[] = BaseAction.baseAction;
    @Override
    public final int baseAction(int index) { return baseAction[index]; }
    public final static char lhs[] = baseAction;
    @Override
    public final int lhs(int index) { return lhs[index]; };

    public interface TermCheck {
        public final static byte termCheck[] = {0,
            0,1,2,3,4,0,6,7,8,9,
            10,0,12,13,0,15,16,17,18,19,
            20,21,22,23,24,25,26,27,28,0,
            0,31,32,33,34,35,36,37,38,39,
            40,41,42,29,44,45,46,0,1,0,
            3,0,5,6,7,8,0,0,0,0,
            13,2,0,4,59,14,55,56,57,58,
            11,24,25,26,27,28,47,48,31,32,
            33,34,35,36,37,38,39,40,41,42,
            43,44,45,46,0,1,0,3,51,5,
            6,7,8,0,0,1,2,13,4,0,
            80,55,56,57,58,11,0,60,24,25,
            26,27,28,61,62,31,32,33,34,35,
            36,37,38,39,40,41,42,43,44,45,
            46,0,1,0,3,51,5,6,7,8,
            0,0,1,2,13,4,47,48,55,56,
            57,58,11,47,48,24,25,26,27,28,
            0,1,31,32,33,34,35,36,37,38,
            39,40,41,42,43,44,45,46,0,1,
            0,3,51,0,6,7,8,4,0,0,
            0,13,4,60,4,0,0,1,2,59,
            5,5,24,25,26,27,28,11,0,31,
            32,33,34,35,36,37,38,39,40,41,
            42,0,44,45,46,0,30,6,7,8,
            0,6,7,8,13,0,53,54,43,9,
            10,53,54,53,54,24,25,26,27,28,
            61,62,31,32,33,34,35,36,37,38,
            39,40,41,42,0,1,2,3,4,5,
            0,0,64,9,10,5,12,13,0,15,
            16,17,18,19,20,21,22,23,0,1,
            2,3,4,5,0,1,2,9,10,64,
            12,13,0,15,16,17,18,19,20,21,
            22,23,0,0,50,2,0,4,0,1,
            50,3,0,11,11,0,1,2,3,4,
            5,0,14,0,9,10,5,12,50,14,
            15,16,17,18,19,20,21,22,23,0,
            1,29,3,59,0,1,2,3,4,5,
            29,30,0,9,10,63,12,5,43,15,
            16,17,18,19,20,21,22,23,0,1,
            2,3,4,0,68,69,0,9,10,0,
            12,5,30,15,16,17,18,19,20,21,
            22,23,0,14,50,0,1,2,3,4,
            0,1,29,3,9,10,30,12,0,14,
            15,16,17,18,19,20,21,22,23,51,
            0,1,2,3,4,0,1,0,3,9,
            10,0,12,0,14,15,16,17,18,19,
            20,21,22,23,0,1,2,3,4,0,
            1,0,3,9,10,0,12,65,14,15,
            16,17,18,19,20,21,22,23,0,1,
            2,3,4,65,47,48,0,9,10,0,
            12,5,49,15,16,17,18,19,20,21,
            22,23,0,1,2,3,4,0,47,48,
            0,9,10,0,12,0,30,15,16,17,
            18,19,20,21,22,23,0,1,2,3,
            4,0,1,0,3,9,10,4,12,0,
            0,15,16,17,18,19,20,21,22,23,
            0,0,2,2,4,5,6,7,8,49,
            0,11,11,13,0,0,1,0,3,0,
            6,7,8,60,24,25,26,27,28,14,
            30,12,49,70,71,72,73,74,75,76,
            77,78,79,0,0,0,0,0,2,6,
            7,8,0,6,7,8,13,11,6,7,
            8,15,16,0,0,13,0,24,25,26,
            27,28,6,7,8,0,24,25,26,27,
            28,6,7,8,0,0,1,0,13,0,
            6,7,8,6,7,8,0,13,52,24,
            25,26,27,28,0,9,10,0,24,25,
            26,27,28,67,0,0,2,0,11,5,
            0,6,7,8,0,11,9,10,0,5,
            2,0,0,0,49,0,5,0,5,11,
            0,1,2,11,30,0,1,2,0,1,
            0,3,63,29,0,0,0,0,4,52,
            4,0,12,0,29,0,29,0,11,14,
            0,0,0,0,0,14,43,14,0,14,
            0,14,0,0,52,0,0,0,0,0,
            66,0,0,0,0,0,0,66,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0
        };
    };
    public final static byte termCheck[] = TermCheck.termCheck;
    @Override
    public final int termCheck(int index) { return termCheck[index]; }

    public interface TermAction {
        public final static char termAction[] = {0,
            1765,1776,1554,1777,1500,1765,1979,1980,1981,1492,
            1381,59,1508,1928,88,1020,673,578,1778,1779,
            1780,1781,1028,483,1929,1927,1982,1930,1926,54,
            1765,1933,1938,1937,1935,1936,1934,1939,1940,1932,
            1941,1942,1943,639,1281,597,381,1765,1,1,
            1,1765,191,1,1,1,61,211,253,265,
            1,1422,62,1,917,2775,1391,1361,545,470,
            349,1,1,1,1,1,1402,1412,1,1,
            1,1,1,1,1,1,1,1,1,1,
            191,1,1,1,1765,1,182,1,1961,190,
            1,1,1,60,262,1991,1151,1,1,58,
            1755,1391,1361,545,470,349,57,1000,1,1,
            1,1,1,1331,1318,1,1,1,1,1,
            1,1,1,1,1,1,1,190,1,1,
            1,1765,1,1765,1,1961,191,1,1,1,
            201,268,1991,1151,1,253,1402,1412,1391,1361,
            545,470,349,1402,1412,1,1,1,1,1,
            1765,2003,1,1,1,1,1,1,1,1,
            1,1,1,1,191,1,1,1,1765,1776,
            183,1777,1961,48,1979,1980,1981,1543,50,63,
            49,1928,1543,492,1543,1765,1,1759,1151,1092,
            1773,1771,1929,1927,1982,1930,1926,349,68,1933,
            1938,1937,1935,1936,1934,1939,1940,1932,1941,1942,
            1943,129,1281,597,381,1765,1770,1979,1980,1981,
            51,1979,1980,1981,1928,69,1528,1517,1772,1308,
            1140,1528,1517,1528,1517,1929,1927,1982,1930,1926,
            1331,1318,1933,1938,1937,1935,1936,1934,1939,1940,
            1932,1941,1942,1943,1,1776,1554,1777,1434,1769,
            1765,286,1218,1492,1381,1769,1508,557,1765,1020,
            673,578,1778,1779,1780,1781,1028,483,1765,1776,
            1554,1777,1467,1769,1,1991,1168,1492,1381,1218,
            1508,959,66,1020,673,578,1778,1779,1780,1781,
            1028,483,271,268,1768,1422,72,253,1765,1776,
            1768,1777,256,349,349,1,1776,1554,1777,1500,
            29,1765,1067,1765,1492,1381,1771,1508,1768,2775,
            1020,673,578,1778,1779,1780,1781,1028,483,1765,
            1776,1682,1777,1056,1765,1776,1554,1777,1500,1769,
            1460,1770,1,1492,1381,1245,1508,90,29,1020,
            673,578,1778,1779,1780,1781,1028,483,1765,1,
            1,1,1,30,1112,1674,1765,1,1,1765,
            1,1771,90,1,1,1,1,1,1,1,
            1,1,70,622,1768,1765,1776,1554,1777,1500,
            185,2805,417,2805,1492,1381,1770,1508,71,2775,
            1020,673,578,1778,1779,1780,1781,1028,483,2081,
            1,1776,1554,1777,1500,184,2807,56,2807,1492,
            1381,1765,1508,1,2775,1020,673,578,1778,1779,
            1780,1781,1028,483,1765,1776,1554,1777,1500,206,
            2809,55,2809,1492,1381,1765,1508,611,2775,1020,
            673,578,1778,1779,1780,1781,1028,483,1765,1776,
            1554,1777,1500,611,1402,1412,1,1492,1381,1765,
            1508,1771,2023,1020,673,578,1778,1779,1780,1781,
            1028,483,1765,1776,1561,1777,1500,1765,1402,1412,
            1,1492,1381,42,1508,1765,1770,1020,673,578,
            1778,1779,1780,1781,1028,483,1,1776,1554,1777,
            1500,208,1776,1,1777,1492,1381,253,1508,1765,
            1765,1020,673,578,1778,1779,1780,1781,1028,483,
            20,270,1756,1667,1756,1756,179,179,179,2022,
            1765,1756,349,179,248,1765,1776,1765,1777,64,
            1979,1980,1981,896,179,179,179,179,179,1260,
            1756,449,2023,875,854,833,812,791,749,770,
            728,707,686,130,1765,1765,32,249,1196,1979,
            1980,1981,131,1,1,1,1928,1562,1979,1980,
            1981,1791,1792,1765,1765,1928,250,1929,1927,1982,
            1930,1926,1,1,1,132,1929,1927,1982,1930,
            1926,1979,1980,1981,133,1,1762,251,1928,67,
            1979,1980,1981,1979,1980,1981,53,1928,464,1929,
            1927,1982,1930,1926,1765,1308,1140,1765,1929,1927,
            1982,1930,1926,374,1,252,1422,52,980,1771,
            1765,1979,1980,1981,1765,349,1308,1140,222,1775,
            1668,1,292,285,2023,30,1775,207,376,349,
            1,1991,1168,1036,1770,253,1991,1168,207,1172,
            65,1172,1245,1342,1765,1765,1765,220,1170,1132,
            1430,1765,449,189,1794,189,2790,189,349,1346,
            1765,1765,1765,1765,1765,1431,376,185,1765,184,
            1765,206,1765,1765,1354,1765,1765,1765,1765,1765,
            1774,1765,1765,1765,1765,1765,1765,1774
        };
    };
    public final static char termAction[] = TermAction.termAction;
    @Override
    public final int termAction(int index) { return termAction[index]; }

    public interface Asb {
        public final static char asb[] = {0,
            375,1,54,41,54,54,54,54,54,54,
            54,54,54,3,334,23,20,27,25,33,
            31,35,34,37,36,9,54,334,258,258,
            203,54,170,170,286,334,54,54,54,54,
            54,54,54,54,54,54,54,54,54,54,
            54,54,54,54,54,54,54,54,54,54,
            54,54,54,54,54,54,170,170,45,82,
            290,48,228,168,167,261,273,96,273,96,
            96,273,96,273,348,124,20,20,25,25,
            25,25,23,23,31,27,27,34,33,76,
            36,35,98,200,98,286,290,104,45,371,
            52,170,305,231,96,258,258,96,258,54,
            200,80,290,281,371,45,51,48,170,284,
            348,169,233,98,173,98,222,80,281,281,
            54,54,45,52,228,298,297,290,233,170,
            98,173,222,222,224,101,281,371,45,45,
            170,305,231,284,173,200,71,173,222,224,
            292,224,200,78,295,258,54,100,371,281,
            233,173,73,224,200,54,258,3,82,45,
            258,54,281,170,169,200,301,54,300,67,
            290,200,45,259,73,54,67
        };
    };
    public final static char asb[] = Asb.asb;
    @Override
    public final int asb(int index) { return asb[index]; }

    public interface Asr {
        public final static byte asr[] = {0,
            80,0,11,2,52,67,15,16,60,70,
            71,72,73,74,76,75,77,78,79,4,
            53,54,9,10,48,47,55,56,57,58,
            61,62,12,63,64,65,43,66,68,69,
            59,30,80,29,50,5,0,6,7,8,
            13,50,5,18,19,20,21,3,15,16,
            12,9,10,22,23,17,4,2,1,0,
            66,5,4,1,2,59,0,5,43,11,
            52,15,16,12,4,9,10,22,23,17,
            2,18,19,20,21,1,3,14,0,60,
            11,52,0,6,7,8,2,18,19,20,
            21,1,3,15,16,12,4,9,10,22,
            23,17,0,7,13,28,8,27,26,25,
            6,24,52,67,15,16,12,9,10,53,
            54,47,48,55,56,57,58,61,62,63,
            64,65,68,69,60,70,71,72,73,74,
            75,76,77,78,79,4,2,11,29,30,
            5,0,24,31,6,32,44,25,33,26,
            34,35,27,7,36,37,13,45,28,46,
            38,39,8,40,41,42,1,3,51,5,
            43,0,5,30,17,18,19,20,21,1,
            3,2,15,16,12,4,9,10,22,23,
            0,1,3,5,43,29,0,4,2,11,
            30,5,24,31,6,32,44,25,33,26,
            34,35,27,7,36,37,13,45,28,46,
            38,39,8,40,41,42,49,3,1,0,
            39,31,36,34,35,33,32,37,38,40,
            41,42,59,66,28,25,13,24,27,26,
            6,7,8,29,1,5,30,2,11,4,
            0,5,29,43,60,0,2,30,11,59,
            66,5,29,0,4,24,31,6,32,44,
            25,33,26,34,35,27,7,36,37,13,
            45,28,46,38,39,8,40,41,42,1,
            3,49,0,17,18,19,20,21,2,15,
            16,12,4,9,10,22,23,1,3,44,
            45,46,39,31,36,34,35,33,32,37,
            38,40,41,42,28,25,13,24,27,26,
            6,7,8,0,17,18,19,20,21,1,
            3,2,15,16,12,4,9,10,22,23,
            51,0
        };
    };
    public final static byte asr[] = Asr.asr;
    @Override
    public final int asr(int index) { return asr[index]; }

    public interface Nasb {
        public final static byte nasb[] = {0,
            118,41,23,41,23,23,23,23,23,23,
            23,23,23,41,98,41,41,41,41,41,
            41,41,41,41,41,41,23,98,18,18,
            63,99,122,122,89,1,23,23,23,23,
            23,23,23,23,23,23,23,23,23,23,
            23,23,99,23,23,23,23,23,23,23,
            23,23,23,23,23,23,122,122,13,50,
            76,11,88,44,44,71,72,29,72,86,
            86,72,85,72,66,41,41,41,41,41,
            41,41,41,41,41,41,41,41,41,41,
            41,41,51,59,41,102,41,31,13,61,
            12,122,93,121,7,7,7,7,7,23,
            74,59,41,83,61,13,12,27,122,55,
            34,41,95,46,59,41,59,21,83,59,
            23,23,13,12,54,44,44,76,95,122,
            41,106,59,7,48,9,59,61,13,13,
            122,93,121,79,59,74,15,114,7,48,
            41,41,74,20,41,7,23,25,61,27,
            110,106,57,48,74,23,7,42,22,13,
            7,23,27,122,122,74,16,23,41,57,
            76,74,13,41,57,23,81
        };
    };
    public final static byte nasb[] = Nasb.nasb;
    @Override
    public final int nasb(int index) { return nasb[index]; }

    public interface Nasr {
        public final static char nasr[] = {0,
            78,76,75,65,74,73,1,0,98,0,
            11,5,24,0,11,69,0,70,0,86,
            11,52,5,0,100,0,21,0,89,0,
            5,11,0,78,77,76,75,65,74,73,
            0,96,0,26,0,90,0,59,0,5,
            52,46,0,23,43,42,35,33,11,0,
            56,0,11,88,0,65,60,61,62,63,
            53,28,0,39,0,27,50,0,43,42,
            35,33,27,0,92,66,0,23,42,43,
            11,0,27,50,11,25,0,49,11,45,
            0,43,42,27,0,80,11,49,0,93,
            11,25,0,11,49,67,0,11,87,0,
            11,23,0
        };
    };
    public final static char nasr[] = Nasr.nasr;
    @Override
    public final int nasr(int index) { return nasr[index]; }

    public interface TerminalIndex {
        public final static char terminalIndex[] = {0,
            85,2,86,9,87,48,64,76,10,11,
            1,8,69,3,6,7,68,81,82,83,
            84,12,13,44,55,60,63,72,42,90,
            47,52,56,61,62,66,67,74,75,78,
            79,80,91,54,70,73,16,17,30,89,
            93,4,14,15,18,19,20,21,29,31,
            22,23,24,25,26,92,5,27,28,32,
            33,34,35,36,37,38,39,40,41,94,
            45,46,49,50,51,53,57,58,59,65,
            71,77,88
        };
    };
    public final static char terminalIndex[] = TerminalIndex.terminalIndex;
    @Override
    public final int terminalIndex(int index) { return terminalIndex[index]; }

    public interface NonterminalIndex {
        public final static char nonterminalIndex[] = {0,
            100,0,0,0,102,106,107,108,109,110,
            0,111,112,113,114,115,116,117,0,118,
            128,0,97,96,121,149,0,127,0,0,
            0,145,147,0,148,0,0,0,98,0,
            158,159,160,0,101,105,120,136,140,146,
            155,0,130,0,150,153,154,157,0,131,
            132,133,134,135,137,0,139,144,99,103,
            104,119,122,123,124,125,126,129,0,138,
            142,0,0,143,152,162,95,0,0,0,
            141,0,151,156,161,0,163,164,0,165,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0,0,0,0,0,
            0,0,0,0,0,0
        };
    };
    public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;
    @Override
    public final int nonterminalIndex(int index) { return nonterminalIndex[index]; }

    public interface ScopePrefix {
        public final static char scopePrefix[] = {
            82,113,92,35,41,121,12,136,21,51,
            69,28,47,103,161,165,145,1,1,32,
            56,79,169,6,107,152,152,127,99,59,
            59,59
        };
    };
    public final static char scopePrefix[] = ScopePrefix.scopePrefix;
    @Override
    public final int scopePrefix(int index) { return scopePrefix[index]; }

    public interface ScopeSuffix {
        public final static char scopeSuffix[] = {
            90,90,90,4,4,90,18,142,26,4,
            26,26,4,101,26,4,149,4,4,26,
            4,26,26,9,110,155,158,130,101,66,
            61,74
        };
    };
    public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;
    @Override
    public final int scopeSuffix(int index) { return scopeSuffix[index]; }

    public interface ScopeLhs {
        public final static char scopeLhs[] = {
            62,60,62,26,26,60,46,108,44,26,
            38,44,26,67,5,5,19,100,99,42,
            26,35,3,86,67,7,5,109,67,38,
            36,38
        };
    };
    public final static char scopeLhs[] = ScopeLhs.scopeLhs;
    @Override
    public final int scopeLhs(int index) { return scopeLhs[index]; }

    public interface ScopeLa {
        public final static byte scopeLa[] = {
            43,43,43,50,50,43,43,86,30,50,
            30,30,50,66,30,50,59,50,50,30,
            50,30,30,60,1,30,30,92,66,2,
            2,2
        };
    };
    public final static byte scopeLa[] = ScopeLa.scopeLa;
    @Override
    public final int scopeLa(int index) { return scopeLa[index]; }

    public interface ScopeStateSet {
        public final static byte scopeStateSet[] = {
            23,23,23,27,27,23,17,-1,31,27,
            9,31,27,5,38,38,68,1,3,31,
            27,9,38,94,5,41,38,-1,5,9,
            9,9
        };
    };
    public final static byte scopeStateSet[] = ScopeStateSet.scopeStateSet;
    @Override
    public final int scopeStateSet(int index) { return scopeStateSet[index]; }

    public interface ScopeRhs {
        public final static char scopeRhs[] = {0,
            140,11,0,96,0,190,104,0,31,135,
            0,152,188,104,14,145,0,98,0,0,
            148,104,2,135,0,97,0,148,104,2,
            0,151,2,0,113,13,178,104,11,0,
            113,178,104,13,11,0,113,13,11,0,
            113,178,104,11,0,113,11,0,128,0,
            2,0,151,97,0,2,97,0,148,104,
            2,128,0,2,0,150,97,0,141,2,
            0,152,176,104,14,94,185,44,0,98,
            0,152,176,104,14,185,44,0,142,0,
            99,0,184,104,142,0,104,142,0,141,
            99,0,172,104,14,183,94,182,158,0,
            172,104,14,182,158,0,197,85,0,77,
            2,101,97,99,0,197,116,138,2,89,
            0,53,0,0,138,69,111,0,29,118,
            0,164,2,0,97,107,0,97,105,0,
            181,2,98,0,138,11,98,0,138,2,
            0
        };
    };
    public final static char scopeRhs[] = ScopeRhs.scopeRhs;
    @Override
    public final int scopeRhs(int index) { return scopeRhs[index]; }

    public interface ScopeState {
        public final static char scopeState[] = {0,
            443,0,341,0,1651,1661,1645,0,1449,1342,
            1168,1269,1256,1151,1123,0,492,417,396,1538,
            1084,0,607,1213,317,0,1462,1182,1137,671,
            1256,1151,1123,1611,1422,1516,0,1020,673,578,
            1467,1434,1084,611,1112,1245,1218,1331,1318,449,
            1412,1402,1391,1361,545,470,1543,1528,1517,1308,
            1140,1508,1500,1492,1381,1028,483,1092,1056,1036,
            492,1000,980,959,938,586,917,557,349,896,
            875,854,833,812,791,770,749,728,707,686,
            317,639,513,417,396,0
        };
    };
    public final static char scopeState[] = ScopeState.scopeState;
    @Override
    public final int scopeState(int index) { return scopeState[index]; }

    public interface InSymb {
        public final static char inSymb[] = {0,
            0,180,104,165,17,23,22,10,9,4,
            12,16,15,98,2,102,101,105,103,107,
            106,109,108,111,110,99,29,2,67,52,
            2,11,164,138,142,104,10,9,54,53,
            4,58,57,56,55,47,48,12,62,61,
            64,63,69,68,65,79,78,77,75,76,
            74,73,72,71,70,60,164,181,138,116,
            104,11,2,136,135,166,167,158,168,46,
            45,169,44,170,171,94,101,101,103,103,
            103,103,102,102,106,105,105,108,107,138,
            110,109,116,14,145,143,120,13,113,104,
            4,151,104,2,182,159,159,185,159,59,
            104,14,120,4,104,113,178,149,148,118,
            104,150,104,94,14,94,14,104,4,120,
            178,13,113,4,2,126,128,104,29,148,
            183,104,14,104,188,104,120,104,113,113,
            141,104,2,143,14,172,142,173,104,176,
            94,177,152,29,190,52,11,191,104,149,
            104,104,104,176,152,60,29,132,60,140,
            52,11,149,148,186,172,184,59,141,2,
            104,152,140,29,29,59,143
        };
    };
    public final static char inSymb[] = InSymb.inSymb;
    @Override
    public final int inSymb(int index) { return inSymb[index]; }

    public interface Name {
        public final static String name[] = {
            "",
            "[",
            "(",
            "{",
            ".",
            "->",
            "++",
            "--",
            "&",
            "*",
            "+",
            "-",
            "~",
            "!",
            "/",
            "%",
            ">>",
            "<<",
            "<",
            ">",
            "<=",
            ">=",
            "==",
            "!=",
            "^",
            "|",
            "&&",
            "||",
            "?",
            ":",
            "...",
            "=",
            "*=",
            "/=",
            "%=",
            "+=",
            "-=",
            ">>=",
            "<<=",
            "&=",
            "^=",
            "|=",
            ",",
            "$empty",
            "auto",
            "break",
            "case",
            "char",
            "const",
            "continue",
            "default",
            "do",
            "double",
            "else",
            "enum",
            "extern",
            "float",
            "for",
            "goto",
            "if",
            "inline",
            "int",
            "long",
            "register",
            "restrict",
            "return",
            "short",
            "signed",
            "sizeof",
            "static",
            "struct",
            "switch",
            "typedef",
            "union",
            "unsigned",
            "void",
            "volatile",
            "while",
            "_Bool",
            "_Complex",
            "_Imaginary",
            "integer",
            "floating",
            "charconst",
            "stringlit",
            "identifier",
            "Completion",
            "EndOfCompletion",
            "Invalid",
            "RightBracket",
            "RightParen",
            "RightBrace",
            "SemiColon",
            "ERROR_TOKEN",
            "EOF_TOKEN",
            "no_sizeof_type_id_start",
            "]",
            ")",
            "}",
            ";",
            "identifier_token",
            "expression",
            "postfix_expression",
            "member_name",
            "type_id",
            "initializer_list",
            "unary_expression",
            "cast_expression",
            "multiplicative_expression",
            "additive_expression",
            "shift_expression",
            "relational_expression",
            "equality_expression",
            "and_expression",
            "exclusive_or_expression",
            "inclusive_or_expression",
            "logical_and_expression",
            "logical_or_expression",
            "assignment_expression",
            "expression_list_actual",
            "constant_expression",
            "declaration_specifiers",
            "simple_declaration_specifiers",
            "struct_or_union_declaration_sp" +
            "ecifiers",
            "elaborated_declaration_specifi" +
            "ers",
            "enum_declaration_specifiers",
            "typdef_name_declaration_specif" +
            "iers",
            "no_type_declaration_specifier",
            "type_qualifier",
            "no_type_declaration_specifiers",
            "simple_type_specifier",
            "struct_or_union_specifier",
            "elaborated_specifier",
            "enum_specifier",
            "type_name_specifier",
            "initializer",
            "declarator",
            "struct_or_union",
            "struct_declaration_list",
            "struct_declaration",
            "specifier_qualifier_list",
            "struct_declarator_list",
            "complete_struct_declarator",
            "enumerator_list",
            "enumerator",
            "direct_declarator",
            "pointer_seq",
            "array_direct_declarator",
            "basic_direct_declarator",
            "array_modifier",
            "parameter_type_list",
            "identifier_list",
            "array_modifier_type_qualifiers",
            "type_qualifier_list",
            "parameter_list",
            "parameter_declaration",
            "complete_parameter_declarator",
            "abstract_declarator",
            "direct_abstract_declarator",
            "basic_direct_abstract_declarat" +
            "or",
            "array_direct_abstract_declarat" +
            "or",
            "initializer_seq",
            "designated_initializer",
            "designation",
            "designator_list",
            "designator"
        };
    };
    public final static String name[] = Name.name;
    public final String name(int index) { return name[index]; }

    public final static int
           ERROR_SYMBOL      = 51,
           SCOPE_UBOUND      = 31,
           SCOPE_SIZE        = 32,
           MAX_NAME_LENGTH   = 38;

    public final int getErrorSymbol() { return ERROR_SYMBOL; }
    public final int getScopeUbound() { return SCOPE_UBOUND; }
    public final int getScopeSize() { return SCOPE_SIZE; }
    public final int getMaxNameLength() { return MAX_NAME_LENGTH; }

    public final static int
           NUM_STATES        = 207,
           NT_OFFSET         = 93,
           LA_STATE_OFFSET   = 2081,
           MAX_LA            = 2,
           NUM_RULES         = 316,
           NUM_NONTERMINALS  = 126,
           NUM_SYMBOLS       = 219,
           SEGMENT_SIZE      = 8192,
           START_STATE       = 1666,
           IDENTIFIER_SYMBOL = 0,
           EOFT_SYMBOL       = 80,
           EOLT_SYMBOL       = 80,
           ACCEPT_ACTION     = 1755,
           ERROR_ACTION      = 1765;

    public final static boolean BACKTRACK = true;

    public final int getNumStates() { return NUM_STATES; }
    public final int getNtOffset() { return NT_OFFSET; }
    public final int getLaStateOffset() { return LA_STATE_OFFSET; }
    public final int getMaxLa() { return MAX_LA; }
    public final int getNumRules() { return NUM_RULES; }
    public final int getNumNonterminals() { return NUM_NONTERMINALS; }
    public final int getNumSymbols() { return NUM_SYMBOLS; }
    public final int getSegmentSize() { return SEGMENT_SIZE; }
    public final int getStartState() { return START_STATE; }
    public final int getStartSymbol() { return lhs[0]; }
    public final int getIdentifierSymbol() { return IDENTIFIER_SYMBOL; }
    public final int getEoftSymbol() { return EOFT_SYMBOL; }
    public final int getEoltSymbol() { return EOLT_SYMBOL; }
    public final int getAcceptAction() { return ACCEPT_ACTION; }
    public final int getErrorAction() { return ERROR_ACTION; }
    public final boolean isValidForParser() { return isValidForParser; }
    public final boolean getBacktrack() { return BACKTRACK; }

    public final int originalState(int state) {
        return -baseCheck[state];
    }
    public final int asi(int state) {
        return asb[originalState(state)];
    }
    public final int nasi(int state) {
        return nasb[originalState(state)];
    }
    public final int inSymbol(int state) {
        return inSymb[originalState(state)];
    }

    public final int ntAction(int state, int sym) {
        return baseAction[state + sym];
    }

    public final int tAction(int state, int sym) {
        int i = baseAction[state],
            k = i + sym;
        return termAction[termCheck[k] == sym ? k : i];
    }
    public final int lookAhead(int la_state, int sym) {
        int k = la_state + sym;
        return termAction[termCheck[k] == sym ? k : la_state];
    }
}
